/*
 *    Copyright (c) 2018-2025, st All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * Neither the name of the pig4cloud.com developer nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 * Author: st
 */

package com.mkh.st.admin.controller;

import com.mkh.st.admin.service.MobileService;
import com.mkh.st.common.core.util.R;
import com.mkh.st.common.security.annotation.Inner;
import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author st
 * @date 2018/11/14
 * <p>
 * 手机验证码
 */
@RestController
@AllArgsConstructor
@RequestMapping("/mobile")
@Api(value = "mobile", tags = "手机管理模块")
public class MobileController {

	private final Logger logger = LoggerFactory.getLogger(this.getClass());

	private final MobileService mobileService;

	@Inner(value = false)
	@GetMapping("/{mobile}")
	public R sendSmsCode(@PathVariable String mobile) {
		return mobileService.sendSmsCode(mobile);
	}


	@GetMapping("/divide/{a}/{b}")
	public int divide(@PathVariable int a, @PathVariable int b) {
		logger.info("SimpleController.divide start, a = {}, b = {}", a, b);

		try {
			return a / b;
		} catch (Exception ex) {
			logger.error("SimpleController.divide start, a = {}, b = {}", a, b, ex);
		}

		return Integer.MIN_VALUE;
	}
}
